package com.bnz.pojo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.HashMap;
import java.util.Map;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Cart {
    // 1. 创建存放购物车的集合
    private Map<String,CartItem> maps = new HashMap<>();

    // 2. 定义添加商品到购物车的方法
    // 思路：向购物车添加之前要先判断购物车之前是否存在此商品
    public void add(Product product) {
        // 2.1 先判断购物车之前是否存在此商品
        // 2.2 代表之前存在这个商品
        if (maps.containsKey(product.getPid())){
            // 2.2.1 修改集合中商品的数量
            CartItem item = maps.get(product.getPid());
            item.setNum(item.getNum() + 1);
        }
        // 2.3 代表之前没有这个商品
        else {
            // 2.3.1 构造一个cartItem对象
            CartItem item = new CartItem(product,1);
            // 2.3.2 将这个购物项添加到Map集合中
            maps.put(product.getPid(),item);
        }
        // 2.4 最后商品总库存减一
        product.setQuantity(product.getQuantity() - 1);
    }
}
